// 引入项目中全部的全局组件
import type { Component } from 'vue'
//@ts-ignore
import Pagination from './Pagination/index.vue'
import SvgIcon from './SvgIcon/index.vue'

// 引入element-plus提供的全部图标组件
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
const allGlobalComponents: { [name: string]: Component } = {
  SvgIcon,
  Pagination,
}
// 对外暴露插件对象
export default {
  // 插件对象中必须包含一个 install 方法
  install(app: any) {
    // app.component('组件名称', 组件对象)
    // 注册项目的全局组件
    Object.keys(allGlobalComponents).forEach((key: string) => {
      // 注册为全局组件
      app.component(key, allGlobalComponents[key])
    })
    // 将element-plus的图标注册为全局组件

    for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
      app.component(key, component)
    }
  },
}
